﻿#region Librerias

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using ESF.General;

#endregion


namespace ESF.WinForms.Controls.Barcodes
{
	public class StickerData
	{
		#region Members
		
		public string BarCode { get { return General + Particular; } }

		public string General;

		public string Particular;

		public List<string> Texts;

		public string Title { get { return Texts [0]; } }

		public List<Font> TextFonts;

		public Font BarcodeTextFont;

		#endregion


		#region Constructor

		public StickerData ()
		{
			Texts = new List<string> ();

			TextFonts = new List<Font> ();

			BarcodeTextFont = new Font ("Arial", 8);
		}

		#endregion


		#region Methods

		/// <summary>
		/// Retorna la fuente para la linea en cuestion
		/// </summary>
		/// <param name="pLineNumber">Indice de linea que parte desde cero (0)</param>
		/// <returns>La fuente asignada para la linea, si no hay fuente definida retorna la de la primer linea o en caso contrario la fuente por defecto Arial de 9px</returns>
		public Font GetTextFontByLine (int pLineNumber)
		{
			if (DataHelper.IsEmpty (TextFonts))
			{
				return new Font (FontFamily.GenericSansSerif, 9);
			}

			if (pLineNumber > TextFonts.Count - 1)
			{
				return TextFonts [0];
			}

			return TextFonts [pLineNumber];
		}

		#endregion
	}
}
